package com.jungle.app.service;

import com.jungle.app.domain.bo.MySysOssBo;
import com.jungle.app.domain.vo.SysOssResult;
import com.jungle.app.domain.vo.MySysOssVo;
import com.jungle.common.core.domain.PageQuery;
import com.jungle.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.Collection;
import java.util.List;

/**
 * OSS对象存储对象Service接口
 *
 * @author jungle
 * @date 2023-10-03
 */
public interface ISysOssMyService {

    /**
     * 文件上传
     * @param file
     * @return
     */
    SysOssResult upload(MultipartFile file);

    SysOssResult uploadFile(MultipartFile file) throws Exception;



    /**
     * 查询OSS对象存储对象
     */
    MySysOssVo queryById(Long ossId);

    /**
     * 查询OSS对象存储对象列表
     */
    TableDataInfo<MySysOssVo> queryPageList(MySysOssBo bo, PageQuery pageQuery);

    /**
     * 查询OSS对象存储对象列表
     */
    List<MySysOssVo> queryList(MySysOssBo bo);

    /**
     * 新增OSS对象存储对象
     */
    Boolean insertByBo(MySysOssBo bo);

    /**
     * 修改OSS对象存储对象
     */
    Boolean updateByBo(MySysOssBo bo);

    /**
     * 校验并批量删除OSS对象存储对象信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

}
